/**
 @file  SQLiteDataSet.h
 @brief sqlite wrapper Class 구현
 */

#import <Foundation/Foundation.h>
#import <sqlite3.h>

/**
 @class SQLiteDataSet 
 @brief SQLiteDataSet 클래스는 SQLite 라이블럴 wrapper 클래스이다. SQL 명령을 실행하고 Query한다.
 */
@interface SQLiteDataSet : NSObject {
	sqlite3 *database;			/**< database 식별자   */
	sqlite3_stmt *statement;	/**< statement 식별자  */
	NSString *dataFileName;		/**< database 파일명 */

	BOOL connected;				/**< 접속 여부 */
	BOOL isEOF;					/**< DB 질의(Query) 결과 리스트 끝 여부 */
}

- (BOOL)connected;
- (void)setConnected:(BOOL)value;
- (void)openSQL:(NSString *)sql;
- (void)executeSQL:(NSString *)sql;
- (void)moveNext;
- (NSString *)getFieldByValueAsString:(NSString *)fieldName;
- (int)getFieldByValueAsInteger:(NSString *)fieldName;
- (double)getFieldByValueAsDouble:(NSString *)fieldName;
- (int)getFieldIndexOf:(NSString *)fieldName;

@property (nonatomic, retain) NSString *dataFileName; /**< database 파일명 */
@property (readonly) BOOL isEOF; /**< DB 질의(Query) 결과 리스트 끝 여부 */

@end

